%        File: thwANS2011pres.tex
%     Created: Wed Jun 22 08:00 AM 2011 C
% Last Change: Wed Jun 22 08:00 AM 2011 C
%
%\documentclass[11pt,handout]{beamer}
\documentclass{beamer}
\usetheme[white]{Wisconsin}
%\title[short title]{long title}
\title[Rapid Peer Education]{Rapid Peer Education of a Computational NE Skill Suite}
%\subtitle[short subtitle]{long subtitle}
\subtitle[ANS2011]{ANS Annual Conference, Hollywood, FL}
%\author[short name]{long name}
\author[K. Huff]{Kathryn D. Huff, Anthony M. Scopatz \\ Nicholas D. Preston , Paul P.H. Wilson }
%\date[short date]{long date}
\date[6-30-2011]{June 30, 2011}
%\institution[short name]{long name}
\institute[UW-Madison]{University of Wisconsin-Madison}



\setbeamertemplate{bibliography item}[text]
\setbeamertemplate{footline}[page number]
\begin{document}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% From uw-beamer Here's a handy bit of code to place at 
%% the beginning of your presentation (after \begin{document}):
\newcommand*{\alphabet}{ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz}
\newlength{\highlightheight}
\newlength{\highlightdepth}
\newlength{\highlightmargin}
\setlength{\highlightmargin}{2pt}
\settoheight{\highlightheight}{\alphabet}
\settodepth{\highlightdepth}{\alphabet}
\addtolength{\highlightheight}{\highlightmargin}
\addtolength{\highlightdepth}{\highlightmargin}
\addtolength{\highlightheight}{\highlightdepth}
\newcommand*{\Highlight}{\rlap{\textcolor{HighlightBackground}{\rule[-\highlightdepth]{\linewidth}{\highlightheight}}}}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\newenvironment{changemargin}[2]{%
\begin{list}{}{%
\setlength{\topsep}{0pt}%
\setlength{\leftmargin}{#1}%
\setlength{\rightmargin}{#2}%
\setlength{\listparindent}{\parindent}%
\setlength{\itemindent}{\parindent}%
\setlength{\parsep}{\parskip}%
}%
\item[]}{\end{list}}
% Make one image take up the entire slide area, including borders:
% centered/centred full-screen image, no title:
% This uses the entire whole screen
\newcommand{\maxFrameImage}[1]{
\begin{frame}[plain]
\begin{changemargin}{-1cm}{-1cm}
\begin{center}
\includegraphics[width=\paperwidth,height=\paperheight,keepaspectratio]
{#1}
\end{center}
\end{changemargin}
\end{frame}
}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%||||||||||||||||||||||||||
\AtBeginSection[]
{
   \begin{frame}
       \frametitle{Outline}
       \tableofcontents[currentsection]
   \end{frame}
}
%||||||||||||||||||||||||||

%||||||||||||||||||||||||||
%\AtBeginSubsection[]
%{
%   \begin{frame}
%       \frametitle{Outline}
%       \tableofcontents[currentsection,currentsubsection]
%   \end{frame}
%}
%||||||||||||||||||||||||||


%||||---------------
\frame{
\titlepage
}
%---------------||||

\section{Motivation}
\subsection{State of Nuclear Engineering}
%||||---------------
\begin{frame}
  \frametitle{State of Nuclear Engineering}
  \begin{columns}
    \begin{column}{0.3\textwidth}
      \begin{figure}[h!]
          \includegraphics[width=2cm]{laural.eps}
        \caption{Image courtesy of Argonne National Laboratory.}
        \label{fig:laural}
      \end{figure}
    \end{column}
    \begin{column}{0.4\textwidth}
    \begin{table}
      \centering
      \begin{tabular}{l}
        \hline
         \textbf{Applications}\\
        \hline
         Lattice Physics\\
         Neutronics\\
         Thermal Hydraulics\\
         Fuel Performance\\
         Criticality Safety\\
         Depletion\\
         Numerical Methods\\
         Advanced Monte Carlo\\
         Turbulent Flow\\
         Sensitivity Analysis\\
         Risk Assessment\\
         .\\
         .\\
         .\\
        \hline
        \end{tabular}
        \label{tab:applications}
      \end{table}
    \end{column}
    \begin{column}{0.3\textwidth}
      \begin{figure}[htbp]
          \includegraphics[width=2cm]{Denovo.eps}
        \caption{Image courtesy of ORNL. } 
        \label{fig:denovo}
      \end{figure}
    \end{column}
  \end{columns}
\end{frame}
%---------------||||
\subsection{Requisite Skill Suite}
%||||---------------
\begin{frame}
  \frametitle{Requisite Skill Suite}
  \begin{columns}
    \begin{column}{0.3\textwidth}
      \begin{figure}[h!]
          \includegraphics[width=2cm]{laural.eps}
        \caption{Image courtesy of Argonne National Laboratory.}
        \label{fig:laural}
      \end{figure}
    \end{column}
    \begin{column}{0.4\textwidth}
      \begin{table}
        \centering
        \begin{tabular}{l}
          \hline
          \textbf{Essential Skills}\\
          \hline
          Parallelization  \\
          Databases  \\
          Unit Testing  \\
          Version Control  \\
          Fortran/C++/Python  \\
          Statistics \\
          Advanced Visualization  \\
          Development Workflow \\
          Documentation  \\
          Debugging  \\
          Unix/Linux  \\
          .  \\
          .  \\
          .  \\
          \hline
        \end{tabular}
        \label{tab:skills}
      \end{table}
    \end{column}
    \begin{column}{0.3\textwidth}
      \begin{figure}[htbp]
          \includegraphics[width=2cm]{Denovo.eps}
        \caption{Image courtesy of ORNL. } 
        \label{fig:denovo}
      \end{figure}
    \end{column}
  \end{columns}
\end{frame}
%---------------||||

\subsection{University Curriculum}
%||||---------------
\begin{frame}
  \frametitle{University Curriculum is Limited}
  \begin{table}
    \centering
    \begin{tabular}{l l }
    CS 367 &  Introduction to Data Structures \\
    CS 412  & Introduction to Numerical Methods \\
    EP/EMA 471 &  Engineering Problem Solving II \\
    EP/EMA/NE 476 & Computational Engineering \\
    \end{tabular}
    \caption{Undergraduates must take one course from the list above.}
    \label{tab:<+label+>}
  \end{table}
  {\footnotesize 
  \begin{quote}
    NE476:

    Course Description: Basic tools of professional scientific 
    computation for UNIX environments are taught. Programming skills 
    in a compiled language are developed through engineering examples. 
    Applications reinforce engineering problem-solving skills first 
    examined in introductory courses, while motivating progressively 
    more advanced computational methods.
  \end{quote}
  }
\end{frame}
%---------------||||
%||||---------------
\begin{frame}
  \frametitle{Department Scope}
  \begin{figure}[htbp]
    \begin{center}
      \includegraphics[height=6cm]{fingers1.eps}
    \end{center}
  \end{figure}
\end{frame}
%---------------||||
%||||---------------
\begin{frame}
  \frametitle{Department Scope}
  \begin{figure}[htbp]
    \begin{center}
      \includegraphics[height=6cm]{fingers2.eps}
    \end{center}
  \end{figure}
\end{frame}
%---------------||||
%||||---------------
\begin{frame}
  \frametitle{Department Scope}
  \begin{figure}[htbp]
    \begin{center}
      \includegraphics[height=6cm]{fingers3.eps}
    \end{center}
  \end{figure}
\end{frame}
%---------------||||
%||||---------------

\section{Organization}
%||||---------------
\begin{frame}
  \begin{changemargin}{-1cm}{-1cm}
   \includegraphics[height=\paperheight,width=\paperwidth,keepaspectratio]{thwlogo.eps}
 \end{changemargin}
\end{frame}
%---------------||||
\subsection{BiWeekly Meetings}
%||||---------------
\begin{frame}
  \frametitle{BiWeekly Meetings}
  \begin{table}
    \centering
    \footnotesize{
    \begin{tabular}{|l|l|l|}
     Autotools & Automated Documentation &  Awesome Sauce \\ 
     Backup & Beamer &  Bert Computing Cluster  \\
     Build Systems &  C++0x & C++ And Fortran \\ 
     Cmake & Condor &  Cython \\
     Debugging & In Defense of Fortran & Distributed Version Control \\ 
     Doxygen & FileSystem &  FuturePlanning \\
     GpGpu &  GprofDdd & Large Sciency Documents \\
     LaTeX &  LibraryDesign & LightningTalks \\ 
     MachineLearning & Matplotlib & OpenAccess \\
     Parallelization with MPI & Parallelization with Python &  PerlDataLanguage \\
     PlayStation3 &  PrettyPrinters & Processes \\
     PyCon2010 & PythonCinterface &  R \\ 
     Sahana Haiti Relief &  SavingScholarship & Scripting \\ 
     The Shell & ShowAndTell &  UnixAccess \\
     Unit Testing &  Version Control & Visualization \\ 
     Visualization Course  & Web Programming &  XML \\
    \end{tabular}
    }
    \label{tab:biweekly}
  \end{table}
\end{frame}
%---------------||||
%||||---------------
\begin{frame}
  \begin{changemargin}{-1cm}{-1cm}
   \includegraphics[height=\paperwidth,width=\paperheight,keepaspectratio,angle=90]{topics.eps}
 \end{changemargin}
\end{frame}
%---------------||||
%||||---------------
\begin{frame}
  \frametitle{Audience}
  \begin{figure}[htbp!]
    \begin{center}
      \includegraphics[height=6cm]{it_was_cold.eps}
    \end{center}
    \caption{Hacker Within regulars develop a community.}
    \label{fig:hackers}
  \end{figure}
\end{frame}
%---------------||||

\subsection{Listhost}
%||||---------------
\begin{frame}
   An interdisciplinary, peer driven listhost of 
    approximately 130 students gives studenst 
    a quick way to ask questions of an experienced but casual group.
  \frametitle{Listhost}
  \begin{changemargin}{-1cm}{-1cm}
   \includegraphics[height=\paperheight,width=\paperwidth]{listhost.eps}
  \end{changemargin}
\end{frame}
%---------------||||
\subsection{Wiki}
%||||---------------
\begin{frame}
  \frametitle{Wiki}
  {\huge hackerwithin.org}
\end{frame}
%---------------||||

\section{Bootcamps}
%||||---------------
\begin{frame}
  \frametitle{Bootcamps}
  \begin{table}[h!]
    \centering
    \begin{tabular}{| l | c | c | c | r |}
      % Topic % Year % Days % Hrs per day % Attendees %
      \hline
      Topic & Year & Days & $\frac{hr}{day}$ & Attendees \\
      \hline
      Unix & 2009 & 4 & 2 & 18 \\
      C++ & 2009 & 4 & 2 & 30 \\
      Python & 2010 & 3 & 4 & 82 \\
      Software Carpentry & 2011 & 3 & 4 & 79 \\
      MSU & 2011 & 2 & 5 & 40 \\
      \hline
    \end{tabular}
    \caption{Previous Bootcamps have been conducted in two condensed formats. Feedback surveys from early bootcamps led to a three rather than four day structure.} 
    \label{tab:hist}
  \end{table}
\end{frame}
%---------------||||

\subsection{Audience}

%||||---------------
\begin{frame}
  \frametitle{Programming Experience}
  \begin{figure}[htpb!]
    \begin{center}
      \includegraphics[height=5cm]{experience.ps}
    \end{center}
    \caption{The participants reported varying levels of experience.}
    \label{fig:experience}
  \end{figure}
\end{frame}
%---------------||||
%||||---------------
\begin{frame}
  \frametitle{University Standing}
  \begin{figure}[htpb!]
    \begin{center}
      \includegraphics[height=5cm]{levels.ps}
    \end{center}
    \caption{The participants reported varying levels of education.}
    \label{fig:experience}
  \end{figure}
\end{frame}
%---------------||||
%||||---------------
\begin{frame}
  \frametitle{Disciplines}
  \begin{figure}[htpb!]
    \begin{center}
      \includegraphics[height=5cm]{disciplines.eps}
    \end{center}
    \caption{The participants come from various backgrounds. Here is 
    the distribution from the Software Carpentry bootcamp.}
    \label{fig:experience}
  \end{figure}
\end{frame}

%---------------||||


\subsection{Topics}
%||||---------------
\begin{frame}
  \frametitle{Bootcamp Topics}
  \begin{table}
    \footnotesize{
    \begin{tabular}{|l|l|l|l|}
      \hline
      Unix & C++ & Python & S.C. \\
      \hline
      Shell       & basics       & installation & Shell \\
      Environment & conditionals & data types   & Version Control \\
      RegEx       & loops        & modules      & Text Editors \\
      Make        & functions    & numpy/scipy  & Databases \\
      Autotools   & multi-file progs & matplotlib & Web Programming \\
                  & inheritance  & django       & Auto. Documentation \\
                  & pointers     & pytables     & Build Systems \\
                  & data structures & swig/f2py & Unit Testing \\
                  & templates    & pytables    & Debugging\\
                  & exceptionss  & wxPython GUIs & \\
      \hline
    \end{tabular}
    \caption{The bootcamps have covered myriad topics pertinent to a 
    fundamental computational nuclear engineering skill suite.}
    \label{tab:topics}
    }
  \end{table}

\end{frame}
%---------------||||

\subsection{Technique}
%---------------||||
\begin{frame}
  \frametitle{Virtual Machine}
  Before the bootcamp, students are asked to:

  \begin{itemize}
    \item Install VirtualBox
    \item Download a 1GB file
  \end{itemize}

  When the bootcamp begins, the students open their virtual machines 
  and may immediately perform exercises and try out tools on identical 
  ubuntu computers pre-loaded with an array of appropriate software.
\end{frame}
%||||---------------
%---------------||||
\begin{frame}
  \frametitle{Virtual Machine}
  For the software carpentry boocamps the virtual machines were loaded 
  with an array of awesome (free) software.
  \small{
  \begin{itemize}
    \item python 2.6 
    \item ipython
    \item scipy, numpy, matplotlib, pygame, pytables
    \item emacs 
    \item vim 
    \item nano, pico, nedit
    \item g++ 
    \item gfortran 
    \item cmake 
    \item doxygen 
    \item mercurial, git, bzr, svn 
    \item diff, colordiff, meld 
    \item hdf5, nosql 
  \end{itemize}
  }
\end{frame}
%||||---------------
%---------------||||
\begin{frame}
  \frametitle{Example Driven}
  Source code is provided by a shared repository. Each student checks 
  out their own version and makes local changes in sync with the 
  class.
  \begin{figure}[htbp]
    \begin{center}
      \includegraphics[height=6cm]{build.eps}
    \end{center}
  \end{figure}

  Version control is assisted by use of a sandbox repository in which 
  students are able to make commits, edit the wiki, assign tickets, 
  and compete to find code bugs.
\end{frame}
%---------------||||
%||||---------------
\begin{frame}
  \frametitle{Peer Taught}
  \begin{figure}[htbp!]
    \begin{center}
      \includegraphics[height=6cm]{it_was_cold.eps}
    \end{center}
    \caption{Hacker Within regulars learn by teaching and are not 
    terribly intimidating.}
  \end{figure}

\end{frame}
%---------------||||
\subsection{Feedback}
%||||---------------
\begin{frame}[allowframebreaks]
  \frametitle{Feedback : Python Bootcamp}
  \begin{figure}[htbp]
    \begin{center}
      \includegraphics[height=6cm]{pybc1.eps}
    \end{center}
  \end{figure}
\end{frame}
%---------------||||
%||||---------------
\begin{frame}
  \frametitle{Feedback : Software Carpentry Bootcamp}
  \begin{figure}[htbp]
    \begin{center}
      \includegraphics[height=6cm]{scbc1.eps}
    \end{center}
  \end{figure}
\end{frame}
%||||---------------
\begin{frame}
  \frametitle{Lessons}
  \begin{itemize}
    \item Scientific computation education is necessary
      \pause
    \item and best practices are absent from curriculum.
      \pause
    \item Students appreciate a swift introduction to software tools
      \pause
    \item particularly one that is hands on
      \pause
    \item and example driven.
      \pause
    \item A community is helpful
      \pause
    \item and can drive itself.
  \end{itemize}
\end{frame}
%---------------||||
\nocite{*}

%||||---------------
\begin{frame}[allowframebreaks]
  \frametitle{References}
  \bibliographystyle{plain}
   {\footnotesize
   \bibliography{bibliography}
   }
\end{frame}
%---------------||||

\end{document}




